﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Controls;
using Puzzler.Common;

namespace Puzzler.Plugin.Interface
{
    public interface IPuzzleRenderer : IPuzzlePluginAction
    {
        #region Drawing

        /// <summary>
        /// Draw view in editor on the given canvas
        /// </summary>
        /// <param name="canvas">Canvas onto draw</param>
        void DrawEditorView(Canvas canvas);

        /// <summary>
        /// Draw the game content view(s) in one or more canvases and returns it as a list
        /// </summary>
        /// <returns>List of all views</returns>
        IList<Canvas> DrawPuzzleGameViews();
        /// <summary>
        /// Draw the solution content view(s) in one or more canvases and returns it as a list
        /// </summary>
        /// <returns>List of all views</returns>
        IList<Canvas> DrawPuzzleSolutionViews();

        #endregion
    }
}
